package com.cysoft.third.echarts.component.title;

import java.io.Serializable;

/**
 * @author 玖零
 * @version v0.0.1
 * @project cysoft-third-echarts
 * @package com.cysoft.third.echarts.component.title
 * @date 2025/3/12 01:24
 * @desc 副标题文本样式配置
 */
public class SubTextStyle implements Serializable {

    private static final long serialVersionUID = 1L;
    /**
     * 副标题文字的颜色。默认为 '#aaa'。
     */
    private String color = "#aaa";

    /**
     * 副标题文字字体的风格。可选值：'normal'、'italic'、'oblique'。默认为 'normal'。
     */
    private String fontStyle = "normal";

    /**
     * 副标题文字字体的粗细。可选值：'normal'、'bold'、'bolder'、'lighter'、100 | 200 | 300 | 400...。默认为 'normal'。
     */
    private Object fontWeight = "normal";

    /**
     * 副标题文字的字体系列。还可以是 'serif' , 'monospace', 'Arial', 'Courier New', 'Microsoft YaHei', ...。默认为 'sans-serif'。
     */
    private String fontFamily = "sans-serif";

    /**
     * 副标题文字的字体大小。默认为 12。
     */
    private Integer fontSize = 12;

    /**
     * 文字水平对齐方式，默认自动。可选值：'left'、'center'、'right'。
     */
    private String align;

    /**
     * 文字垂直对齐方式，默认自动。可选值：'top'、'middle'、'bottom'。
     */
    private String verticalAlign;

    /**
     * 行高。
     */
    private Integer lineHeight;

    /**
     * 文本显示宽度。
     */
    private Integer width;

    /**
     * 文本显示高度。
     */
    private Integer height;

    /**
     * 文字本身的描边颜色。
     */
    private String textBorderColor;

    /**
     * 文字本身的描边宽度。
     */
    private Integer textBorderWidth;

    /**
     * 文字本身的描边类型。可选值：'solid'、'dashed'、'dotted'。自 v5.0.0 开始，也可以是 number 或者 number 数组。默认为 'solid'。
     */
    private Object textBorderType = "solid";

    /**
     * 从 v5.0.0 开始支持，用于设置虚线的偏移量，可搭配 textBorderType 指定 dash array 实现灵活的虚线效果。
     */
    private Integer textBorderDashOffset = 0;

    /**
     * 文字本身的阴影颜色。默认为 'transparent'。
     */
    private String textShadowColor = "transparent";

    /**
     * 文字本身的阴影长度。
     */
    private Integer textShadowBlur = 0;

    /**
     * 文字本身的阴影 X 偏移。
     */
    private Integer textShadowOffsetX = 0;

    /**
     * 文字本身的阴影 Y 偏移。
     */
    private Integer textShadowOffsetY = 0;

    /**
     * 文字超出宽度是否截断或者换行。配置 width 时有效。可选值：'truncate' 截断，并在末尾显示 ellipsis 配置的文本，默认为...；'break' 换行；'breakAll' 换行，跟 'break' 不同的是，在英语等拉丁文中，'breakAll' 还会强制单词内换行。默认为 'none'。
     */
    private String overflow = "none";

    /**
     * 在 overflow 配置为 'truncate' 的时候，可以通过该属性配置末尾显示的文本。默认为 '...'。
     */
    private String ellipsis = "...";

    /**
     * 在 rich 里面，可以自定义富文本样式。利用富文本样式，可以在标签中做出非常丰富的效果。
     */
    private Object rich;
}
